1. Field of the Invention
The present invention relates generally to digital audio and audio-video systems, and more specifically, to a real-time sample rate converter and method that use non-linear and non-polynomial convolution coefficient operation to perform the conversion.
2. Background of the Invention
Real-time sample rate converters and sample rate conversion algorithms are pervasive in digital audio and digital audio-video (AV) systems. Frequently, the playback digital audio sample rate of an audio reproduction system or storage system does not match the digital audio sample rate of a pre-recorded program, and the audio data must be converted to the required sample rate before playback and/or storage. The ratio between the source sample rate and the desired sample rate may be irrational and/or time-varying, requiring what is known as asynchronous sample rate conversion. The ratio may also not be known in advance, requiring adaptability over a range of sampling rates and sampling rate ratios.
Sample rate converters perform conversion of the sample rate by calculating the value of each sample at the new rate from the values surrounding each new-rate sample in time from the source audio stream. The simplest form of sample rate conversion is linear interpolation that locates the new sample value on a line projected between the two source audio samples that immediately surround the calculated value in time. Such interpolation has a large amount of harmonic distortion due to error between the calculated value and the actual value.
Audio program information is typically very non-linear and can be generally viewed as a waveform comprising multiple superimposed sinusoids of differing frequencies. Therefore, higher-order polynomials that involve samples outside of the two-sample window surrounding the calculated sample are employed to refine the estimation of the ideal new sample value. The error level can be arbitrarily reduced by increasing the order of the polynomial function used for the estimation, with an increasing penalty in computation time and storage for the source samples surrounding the current time. Such conversion is typically performed by a time-variant interpolation filter having a large number of taps, which requires a large amount of computation power, as well as storage for a large number of coefficients. The result is a large amount of die area/processor time and consequent power consumption, in order to perform the sample rate conversion. The number of taps required for the filter may be reduced, resulting in reduced power consumption, using infinite-impulse response (IIR) filters. However, the phase-response of such filters results in non-linear group delay.
Alternative solutions, such as that disclosed in U.S. Pat. No. 6,208,671, convert the incoming sample stream to a higher “intermediate” sample rate, and then converts the intermediate result to the desired output sample rate. Such solutions require an interpolation filter, a decimation filter and a high-speed interpolator. The application of high intermediate sample rates require circuits that also consume large amounts of circuit power.
Therefore, it would be desirable to provide a real-time method and sample rate converter providing a sample-rate converted output stream with minimum harmonic distortion, linear phase response, and low circuit power/computation cost.